using System;
using System.Collections.Generic;
using System.Text;
namespace GSM.BusinessLayer
{
	public class Event_Customer: BusinessObjectBase
	{

		#region InnerClass
		public enum Event_CustomerFields
		{
			EventID,
			CustomerID,
			Code,
			Status,
			EventSMSStatus
		}
		#endregion

		#region Data Members

			int _eventID;
			int _customerID;
			string _code;
			bool _status;
			bool? _eventSMSStatus;

		#endregion

		#region Properties

		public int  EventID
		{
			 get { return _eventID; }
			 set
			 {
				 if (_eventID != value)
				 {
					_eventID = value;
					 PropertyHasChanged("EventID");
				 }
			 }
		}

		public int  CustomerID
		{
			 get { return _customerID; }
			 set
			 {
				 if (_customerID != value)
				 {
					_customerID = value;
					 PropertyHasChanged("CustomerID");
				 }
			 }
		}

		public string  Code
		{
			 get { return _code; }
			 set
			 {
				 if (_code != value)
				 {
					_code = value;
					 PropertyHasChanged("Code");
				 }
			 }
		}

		public bool  Status
		{
			 get { return _status; }
			 set
			 {
				 if (_status != value)
				 {
					_status = value;
					 PropertyHasChanged("Status");
				 }
			 }
		}

		public bool?  EventSMSStatus
		{
			 get { return _eventSMSStatus; }
			 set
			 {
				 if (_eventSMSStatus != value)
				 {
					_eventSMSStatus = value;
					 PropertyHasChanged("EventSMSStatus");
				 }
			 }
		}


		#endregion

		#region Validation

		internal override void AddValidationRules()
		{
			ValidationRules.AddRules(new Validation.ValidateRuleNotNull("EventID", "EventID"));
			ValidationRules.AddRules(new Validation.ValidateRuleNotNull("CustomerID", "CustomerID"));
			ValidationRules.AddRules(new Validation.ValidateRuleStringMaxLength("Code", "Code",50));
			ValidationRules.AddRules(new Validation.ValidateRuleNotNull("Status", "Status"));
		}

		#endregion

	}
}
